The present invention relates to a color reproducing device which transfers accurately the colors of an image of a subject captured by an image input device to an output device.
Various attempts have been made hitherto to print or display colors as they are perceived by the human visual system.
As the performance of computers has been upgraded and their size has been reduced and with the spread of desktop publishing (DTP) systems, color matching techniques have been proposed for matching colors displayed on TV monitors and colors to be printed on printed matter as an object of input and output (for example, U.S. Pat. No. 5,739,928, Japanese Unexamined Patent Publication No. 6-51732, and so on).
A color management system (CMS), which is typical of the color matching techniques, is equipped, as shown in FIGS. 32 and 33, with a color corrector 3 between an image input device 1 and an image output device 2. The color corrector 3 has an input profile 4 and an output profile 5 on the image input side (shooting side) and the image output side (observer side), respectively. Input colors are first converted to colors that do not depend on the image input device 1 and the image output device 2 (hereinafter referred to as device independent colors) and then the matching of input and output colors is performed.
In U.S. patent Ser. No. 08/763,230, there is disclosed a color image recording and reproducing system in which, as shown in FIG. 34, an image captured in a place remote from a place where it is reproduced is transmitted, and color matching is performed in spectrum to reproduce (display or print) colors accurately.
More specifically, in this system, a multi-spectral image of a subject is shot, and lighting spectral data when the image was shot and lighting spectral data at the time the image is reproduced are used to effect conversion in such a way that, under lighting on the reproduction side, the spectral image of the subject is obtained as it was shot.
That is, the colors and gloss of the subject when it was shot are changed to suit the reproducing lighting, allowing the state of the subject when it was shot to be observed.
Next, a multidimensional spectral image is converted into a three-dimensional vector image composed of X, Y, and Z values and then transmitted to the reproducing site. In the reproducing site, the image is converted to color signals corresponding to the spectral characteristics of the reproducing device and then outputted to a device.
The color corrected image is displayed on an output medium (monitor) of FIG. 34.
The output profile is created in accordance with the following procedure.
A monitor 131 and a chromaticity meter 132 are set in a place, such as a dark room, which is not affected by outside light. As shown in FIG. 35, predetermined RGB signals are generated by an RGB signal generator 133 and displayed on the screen of the monitor under the control of a display controller 134. The colors displayed are measured by the chromaticity meter 132.
The output signals of the chromaticity meter 132 are detected by a chromaticity detector 135 as chromaticity values such as XYZ values. The detected signals are then sent to an output profile computation unit 136.
The output profile computation unit computes an output profile from the relationship between the RGB values generated by the RGB signal generator 133 and the chromaticity valued detected by the chromaticity meter 135.
The relationship between the RGB values outputted to the monitor 131 and the XYZ values outputted from the monitor 131 will be described next.
The monitor has RGB phosphors that produce the three primary colors, red, green, and blue, and produces a color image by exciting those phosphors by electron beams modulated by R, G and B signals. The values of the R, G and B signals (the RGB values) are produced by the RGB signal generator 133 of FIG. 35.
The RGB values are converted in a non-linear manner by the gamma (γ) characteristic of the monitor 131. Let the gamma characteristic of the RGB phosphors be denoted by γr[ ], γg[ ], and γb[ ], respectively. The colors produced by the RGB phosphors are combined by eye into a color; thus, the chromaticity values (XYZ values) outputted from the monitor are represented by the sums of signal values each subjected to the corresponding gamma characteristic as follows:
                              (                                                    X                                                                    Y                                                                    Z                                              )                =                              (                                                                                Xr                    ⁢                                                                                  ⁢                    max                                                                                        Xg                    ⁢                                                                                  ⁢                    max                                                                                        Xb                    ⁢                                                                                  ⁢                    max                                                                                                                    Yr                    ⁢                                                                                  ⁢                    max                                                                                        Yg                    ⁢                                                                                  ⁢                    max                                                                                        Yb                    ⁢                                                                                  ⁢                    max                                                                                                                    Zr                    ⁢                                                                                  ⁢                    max                                                                                        Zg                    ⁢                                                                                  ⁢                    max                                                                                        Zb                    ⁢                                                                                  ⁢                    max                                                                        )                    ⁢                      (                                                                                γ                    ⁢                                                                                  ⁢                                          r                      ⁡                                              [                        R                        ]                                                                                                                                                              γ                    ⁢                                                                                  ⁢                                          g                      ⁡                                              [                        G                        ]                                                                                                                                                              γ                    ⁢                                                                                  ⁢                                          b                      ⁡                                              [                        B                        ]                                                                                                                  )                                              (        11        )            where Xrmax, Yrmax and Zrmax are the X, Y and Z values when the R phosphor produces the maximum brightness, Xgmax, Ygmax and Zgmax are the X, Y and Z values when the G phosphor produces the maximum brightness, and Xbmax, Ybmax and Zbmax are the X, Y and Z values when the B phosphor produces the maximum brightness.
The RGB values to obtain desired XYZ values can be calculated using equation (11) as follows:
                                                                        matrix                ⁢                                                                  ⁢                transform                ⁢                                                                  ⁢                                  (                                                                                                              R                          ′                                                                                                                                                              G                          ′                                                                                                                                                              B                          ′                                                                                                      )                                            =                                                                    (                                                                                                                        Xr                            ⁢                                                                                                                  ⁢                            max                                                                                                                                Xg                            ⁢                                                                                                                  ⁢                            max                                                                                                                                Xb                            ⁢                                                                                                                  ⁢                            max                                                                                                                                                                            Yr                            ⁢                                                                                                                  ⁢                            max                                                                                                                                Yg                            ⁢                                                                                                                  ⁢                            max                                                                                                                                Yb                            ⁢                                                                                                                  ⁢                            max                                                                                                                                                                            Zr                            ⁢                                                                                                                  ⁢                            max                                                                                                                                Zg                            ⁢                                                                                                                  ⁢                            max                                                                                                                                Zb                            ⁢                                                                                                                  ⁢                            max                                                                                                                )                                                        -                    1                                                  ⁢                                  (                                                                                    X                                                                                                            Y                                                                                                            Z                                                                              )                                                                                                        gamma              ⁢                                                          ⁢              correction              ⁢                                                          ⁢                                                                                                                                                                        R                            =                                                          γ                              ⁢                                                                                                                          ⁢                                                                                                r                                                                      -                                    1                                                                                                  ⁡                                                                  [                                                                      R                                    ′                                                                    ]                                                                                                                                                                                                                                                                      G                            =                                                          γ                              ⁢                                                                                                                          ⁢                                                                                                g                                                                      -                                    1                                                                                                  ⁡                                                                  [                                                                      G                                    ′                                                                    ]                                                                                                                                                                                                                                                                                                    B                      =                                              γ                        ⁢                                                                                                  ⁢                                                                              b                                                          -                              1                                                                                ⁡                                                      [                                                          B                              ′                                                        ]                                                                                                                                                                                                      (        12        )            
The processing flow is illustrated in FIG. 36.
In this arrangement, an output profile computation unit 136 computes matrix coefficients for matrix transform and gamma correction values for gamma correction from the RGB values and the XYZ values and stores them into an output profile storage unit 137. A device value conversion unit 138 makes matrix transform and gamma correction on the XYZ values using the matrix coefficients and the gamma correction values and outputs RGB values to the image display controller 134 for display on the monitor.
The conventional color management system described above specifies D50 for the light source used on both the input side and the output side. Therefore, a color mismatching problem will arise when an image is shot under a light source different from D50 or when an output image is observed under a light source different from D50.
In the conventional color image recording and reproducing system illustrated in FIG. 34, it is assumed that, on the shooting side, an image is converted to chromaticity values, such as XYZ values, to suit the lighting on the observer side and then transmitted to the observer side.
An image, once converted to XYZ values, has no longer spectral information. Thus, on the observer side, no data conversion can be made to suit the lighting.
Only the spectral data on light used in shooting and the spectral data on light used in observation are used for color matching. In order to increase the accuracy of color reproduction, therefore, it is required that an input image itself should have a certain amount of spectral information.
For this reason, the image input device must be a multi-spectral camera capable of capturing spectral images in many bands, which makes it difficult to shoot a subject in one shot. In addition, a captured image will involve a large amount of data.
In displaying a color corrected image on the monitor, offset light (light of monitor emitted when the input value is zero) and environment light (light of surrounding place where the monitor is installed) will have influence on color reproduction. Thus, satisfactory color reproduction is not necessarily achieved even if an output profile is created for the monitor by the conventional technique.
When the power is applied to the monitor and then RGB signals such that R=G=B=0 are applied to the monitor, the monitor screen will not display black (X=Y=Z=0) due to the influence of offset light of the monitor.
In a place where the monitor is set, there generally exists some light source or outdoor light (sun light) which illuminates the monitor screen. Under such conditions, reflection from the monitor screen occurs and hence it does not follow that X=Y=Z=0 even when the power is not applied to the monitor. That is, the monitor offset light and the environment light are added to an image to be displayed on the monitor. The sum of the monitor offset light and the environment light is referred hereinafter to as a bias value.
If a profile is created taking the bias value into account, then accurate color reproduction will be achieved. However, the offset light and the environment light vary greatly with time. For example, the offset light varies greatly until the monitor becomes stabilized from when the power was applied thereto.
In addition, the bias value will vary greatly when a light source used as environment light is changed, or subjected to a change with the passage of time, or the outdoor light varies. The recreation of the output profile with each variation of the offset light or environment light requires not only expert knowledge but also a large amount of time.